package com.ruoyi.docdraw.mapper;

import java.util.List;

import com.ruoyi.docdraw.domain.SysDoc;
import com.ruoyi.docdraw.domain.SysDocDraw;

/**
 * 文档Mapper接口
 *
 * @author lvtian
 * @date 2025-02-26
 */
public interface SysDocMapper {
    /**
     * 查询文档
     *
     * @param docId 文档主键
     * @return 文档
     */
    public SysDoc selectSysDocByDocId(Long docId);

    /**
     * 查询文档列表
     *
     * @param sysDoc 文档
     * @return 文档集合
     */
    public List<SysDoc> selectSysDocList(SysDoc sysDoc);

    /**
     * 新增文档
     *
     * @param sysDoc 文档
     * @return 结果
     */
    public int insertSysDoc(SysDoc sysDoc);


    /**
     * 修改文档
     *
     * @param sysDoc 文档
     * @return 结果
     */
    public int updateSysDoc(SysDoc sysDoc);

    /**
     * 删除文档
     *
     * @param docId 文档主键
     * @return 结果
     */
    public int deleteSysDocByDocId(Long docId);

    /**
     * 批量删除文档
     *
     * @param docIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysDocByDocIds(Long[] docIds);

    /**
     * 批量删除文档图纸
     *
     * @param docIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysDocDrawByDocIds(Long[] docIds);

    /**
     * 批量新增文档图纸
     *
     * @param sysDocDrawList 文档图纸列表
     * @return 结果
     */
    public int batchSysDocDraw(List<SysDocDraw> sysDocDrawList);


    /**
     * 通过文档主键删除文档图纸信息
     *
     * @param docId 文档ID
     * @return 结果
     */
    public int deleteSysDocDrawByDocId(Long docId);


    public SysDoc selectSysDocByDocOr(String docOr);


    int deleteSysDocByDocMasterId(Long docMasterId);
}
